class Boy {
    @speak("中文")
    run () {
        console.log("I can speak " + this.language)
        console.log("I can run")
    }
    say () {
        console.log("I can say")
    }
}

function speak (language) {
    return function (target,key,descriptor) {
        console.log(target)
        console.log(target.__proto__)
        console.log(key)
        console.log(descriptor)
        target.language = language;
        return descriptor;
    }
}

const luke = new Boy()
luke.run()
luke.say()